草庐IT

iOS 可重用组件

全部标签

java - 在避免实现继承和保持内部化的同时最大化代码重用的最佳方法

我在代码重用和代码结构的几种不同OOP方法之间左右为难,我无法找出适合我的情况的最佳选择。目前,我有一个名为“地block”(一block土地)的基类,它处理标准地block类型和任何其他地block类型的核心功能。所以我认为使用核心绘图功能扩展Plot的任何其他Plot类型是有意义的。然而,我现在意识到这种方法有很多缺点。这是我的代码(在Java中)的当前基本结构:publicclassPlot{publicvoiddoStuff(){//DostuffforStandardplottype}}publicclassEstatePlotextendsPlot{@Overridepub

java - 使用内存中的文件系统模拟 java.io.File。也许吉姆斯

我正在使用与java.io.File实例一起使用的第三方库。我想在我的单元测试中使用这个库,但我不希望它在磁盘上创建文件。我的第一个想法是使用JimFs模拟文件系统,但它不支持java.io.File。我的第二个想法是使用一些模拟框架模拟File并将调用委托(delegate)给JimFs,但不知道这是否可行。是否有一些使用虚拟java.io.File的解决方案? 最佳答案 您可以使用JUnitTemporaryFolder规则轻松创建在测试方法完成后删除的临时文件。 关于java-使用

java - 无法启动组件 [StandardEngine[Tomcat].StandardHost[localhost].TomcatEmbeddedContext[]]

我正在尝试构建一个SpringBoot应用程序。importorg.springframework.boot.SpringApplication;importorg.springframework.boot.autoconfigure.SpringBootApplication;importorg.springframework.context.ApplicationContext;@SpringBootApplicationpublicclassApp{@SuppressWarnings("unused")publicstaticvoidmain(String[]args)throw

java - xstream - 在自定义转换器中重用默认转换器

我正在使用xstream来处理xml字符串,但是对象的某些字段在版本之间发生了变化,所以我正在实现自定义转换器。下面列出了字段更改的摘要,只有前两个字段类型不同。Fieldtype1type2ashortStringbStringObjectcListListdObjectObject...xStringString我当前的转换器被实现为专门处理每个字段,这导致unmarshal()方法中出现大量“elseif”条件packagea.b.c.reports;importcom.thoughtworks.xstream.converters.Converter;importcom.tho

java - Swing组件默认渐变背景

有没有办法将swing组件(例如JPanel)的所有实例的默认背景绘制更改为使用渐变背景绘制?或者我是否需要创建一个使用渐变绘制的JPanel扩展,然后在我的应用程序中到处使用它而不是JPanel? 最佳答案 恕我直言,将Swing组件子类化并覆盖其paintComponent方法来进行渐变绘制会更容易。然后,如您所说,在整个应用程序中使用此自定义组件。使用UI属性可能会很棘手,因为它们在所有LaF中可能不一致。 关于java-Swing组件默认渐变背景,我们在StackOverflow

java - JDK7 和原生组件的焦点问题

我们有一个swing应用程序,它通过JNIWrapper嵌入了一个IEocx组件。从jdk6切换到jdk7后,我们开始注意到焦点问题。当嵌入式IE显示带有文本字段的网页(例如谷歌搜索页面)时,问题就开始了:浏览器“捕捉”焦点,因此您可以开始在搜索文本字段中键入内容。输入的每个键都会转到IEocx。但是swing似乎忽略了这种焦点变化。即使我将焦点更改为swing文本字段(并且swing显示闪烁的输入光标),所有键入的键都会转到IEocx“修复”焦点的唯一方法是停用和激活主框架。在那之后,焦点似乎是一致的。但是,如果我再次点击谷歌搜索文本字段,焦点就会再次被打破。jdk7中的焦点处理似乎

java - 使用 JemmyFX 测试多个 JavaFX 组件

我正在从事一个相当大的项目,其中包括一组自定义JavaFX组件。对于每个要重用的自定义组件,我已经开始使用JemmyFX和JUnit编写一组自动化测试。在开发过程中,我从EclipseJuno中运行它们。事实证明,一次运行整套测试非常困难。问题似乎源于这样一个事实,因为我想测试多个组件,理想情况下我会为每个组件运行一个不同的应用程序(以便在一个组件上执行的测试不会影响其他测试)。我创建了一个执行以下操作的基类:@BeforeClasspublicstaticvoidbeforeClass(){Threadt=newThread("JavaFXInitThread"){@Override

java - 如何将 Java 中的 URI 解析和解码为 URI 组件?

我正在尝试找到一种方法来解析URL、对其进行解码并以明确的方式返回解码后的组件。URLDecoder不合适,因为它可能会返回不明确的字符串,例如URLDecoder.decode("http://www.google.com?q=abc%26def","UTF-8")返回:http://www.google.com?q=abc&def所以关于转义&的信息丢失了。我想要这样的东西:DecodedUrlComponentscmp=GreatURLDecoder.decode(url);Map>decodedQuery=cmp.getQuery();decodedQuery.get("q")

javax.xml.ws.WebServiceException : java. io.IOException:写入服务器 Tomcat 8 时出错

我们最近将在JRE1.7.0_17/Tomcat7.0.39上运行的JAX-WS网络服务的技术堆栈更新为JRE1.8.0_66/Tomcat8.0.28。Web应用程序在WindowsServer2012上运行。Web服务使用JAX-WS的Metro实现。客户端使用JRE7和内置于JRE中的JAX-WS客户端API在各种Windows版本上运行。网络服务用于将文件从客户端机器上传到网络服务,网络服务将文件保存在文档管理系统中。该实现在Java7/Tomcat7下运行得非常完美,但我们遇到了在Java8/Tomcat8服务器端运行更大负载(2MB或更大)的问题。来自客户端的堆栈跟踪是:1

java - 外部 XMPP 组件 - 有人知道教程或开源示例吗?

我想运行一个XMPP服务器(Openfire)并注册一个外部组件来处理它将收到的消息(使用Whack库)。外部组件将运行我的游戏逻辑,我将使用XMPP将玩家移动发送到服务器并在另一个方向更新状态。XMPP的好处是我们可以免费内置聊天。问题是,虽然Ignite看起来相当成熟,但我找不到关于如何编写、注册和调试使用Whack编写的外部XMPP组件的教程,一般而言,这方面的教程很少。我既不投资服务器实现也不投资外部组件库,java只是我选择的语言。如果我要转向Erlang或Scala或其他语言,那必须是一种非常简单的语言。单个教程或示例在这里会有很长的路要走,我只需要一个基本的外部XMPP组